package eventx

type IDispatcher interface {
	Dispose()
	Wait(kind string, params ...interface{}) IEvent
	OnKey(kind string, handlerKey string, priority int, params ...interface{})
	On(kind string, handler IHandler, priority int, params ...interface{})
	Once(kind string, handler IHandler, priority int, params ...interface{})
	Off(kind string, handler IHandler)
	OffAll()
	OffKind(kind string)
	Dispatch(kind string, params ...interface{})
	dispatchBubble(kind string, params []interface{}, origin interface{})
}

type IHandler interface {
}

type IEvent interface {
}
